Composition of local user interface with remotely generated user interface and media

ABSTRACT

A media server in a home entertainment network coordinates with a media receiver connected with the network to provide a media representation with a combined user interface on an attached display device. The media server receives compositing information from the media receiver over the network regarding the placemement of UI components generated by the media receiver. In response, the media server may adjust the positioning of graphics, media control information, metadata, media presentation windows, and other UI components for presentation by the media receiver such that the UI components generated by the media server do not interfere with the UI generated by the media receiver when rendered to the display device. Alternately, the media receiver may adjust the position of UI components such that the UI components generated by the media receiver do not interfere with the UI generated by the media server upon presentation.

BACKGROUND

Home entertainment networks are becoming popular and allow media storedon or accessible by a computer functioning as a media server to bepresented on more traditional presentation devices, such as atelevision, in a separate room from the computer. In order for atelevision to present such media, it is often connected with a mediarendering device, which in turn is connected with the computer over ahome entertainment network. In addition to providing media to a remoterendering device, the computer may supply graphical components for therendering of a user interface (UI) on the television. The mediarendering device may also generate UI components for presentation on thetelevision. The media rendering device may composite the UI componentsreceived from the computer with the UI components generated locally onthe device. The media rendering device performs this compositingoperation without regard to any conflict between the UI components.Thus, the resulting presentation on the television may be composed ofoverlapping graphics or graphics that obscure the media presentation.

SUMMARY

Functionality is provided to a media server within a home entertainmentnetwork to intelligently coordinate the presentation of UIs generatedboth at the media server and locally on a networked media receiver. Themedia receiver may be connected with a presentation device such as atelevision or other display device and loudspeakers for presentation ofthe media and the UIs. By using a command and control backchannel overthe network, the media server may receive information regarding theplacement of UI components generated by the media receiver. In response,the media server may adjust the positioning of graphics, media controlinformation, metadata, media presentation windows, and other UIcomponents for rendering by the media receiver such that the UIcomponents generated by the media server complement or do not interferewith the UI generated by the media receiver. Similarly, the mediareceiver may receive information regarding the placement of UIcomponents generated by the media server. In response, the mediareceiver may adjust the positioning of UI components that are generatedby the media receiver such that they complement or do not interfere withUI components generated by the media server.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Otherfeatures, details, utilities, and advantages of the claimed subjectmatter will be apparent from the following Detailed Description ofvarious embodiments and implementations as further illustrated in theaccompanying drawings and defined in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of an implementation of a homeentertainment environment.

FIG. 2 is a schematic diagram of an implementation of a communicationconfiguration between a media server and a media receiver.

FIG. 3 is a schematic diagram of an implementation compositing on apresentation device UI and graphics from a media server and UI andgraphics from a media receiver related to audio media.

FIG. 4 is a schematic diagram of an implementation compositing on apresentation device UI and graphics from a media server and UI andgraphics from a media receiver related to audio/video media.

FIG. 5 is a schematic diagram of a general purpose computing system forimplementing aspects of the home entertainment environment.

DETAILED DESCRIPTION

Coordination of media and UI on a presentation device may be understoodin the context of a media server network. FIG. 1 depicts an exemplaryhome entertainment environment 100 including a living room 102 and abedroom 104. Central to the home entertainment environment 100 is amedia server 106, in this implementation situated in the living room102, but it could be located anywhere within the house. In oneimplementation, the media server 106 is a conventional personal computer(PC) configured to run a multimedia software package, for example, theWindows® XP Media Center Edition operating system (MicrosoftCorporation, Redmond Wash.). In such a configuration, the media server106 is able to integrate full computing functionality with a completehome entertainment system into a single PC. For example, a user canwatch television (TV) in one graphical window of a video monitor, whilesending email or working on a spreadsheet in another graphical window onthe same monitor. In addition, the media server 106 may also includeother features or components, for example: a personal video recorder(PVR) to capture live TV shows for future viewing or to record thefuture broadcast of a single program or series; a compact disc (CD) ordigital video disc (DVD) drive 108 for disc media playback; a memorydrive 110 for integrated storage of and access to a user's recordedcontent, such as TV shows, songs, pictures, and home videos; and anelectronic program guide (EPG).

Instead of a conventional PC, the media server 106 may comprise avariety of other devices capable of storing and distributing mediacontent including, for example, a notebook or portable computer, atablet PC, a workstation, a mainframe computer, a server, an Internetappliance, or combinations thereof. The media server 106 may also be aset-top box capable of delivering media content to a computer where itmay be streamed, or the set-top box itself could stream the mediacontent. As the media server 106 may be a full function computer runningan operating system, the user may also have the option to run standardcomputer programs (e.g., word processing and spreadsheets), send andreceive emails, browse the Internet, or perform other common functions.

In addition to storing media content, the media server 106 may beconnected with a variety of media sources, for example, a cableconnection 114, a satellite receiver 116, an antenna (not shown for thesake of graphic clarity), and/or a network such as the Internet 118. Auser may thus control a live stream of media content (e.g., TV content)received, for example, via the cable connection 114, the satellitereceiver 116, or antenna. This capability is enabled by one or moretuners residing in the media server 106. The one or more tuners mayalternatively be located remote from the media server 106. In eithercase, the user may choose a tuner to fit any particular preferences. Forexample, a user wishing to watch both standard definition (SD) and highdefinition (HD) content may employ a tuner configured for both types ofcontents. Alternately, the user may employ an SD tuner for SD contentand an HD tuner for HD content separately.

The TV content may be received as an analog (i.e., radio frequency)signal or a digital signal (e.g., digital cable). The received TVcontent may include discrete content packets, where each content packetincludes actual TV content (i.e., audio and video data) and a policy orpolicies associated with the actual TV content. If TV content isreceived as an analog signal, discrete content packets may be createdfrom the analog signal.

Digital rights management (DRM) policies may be employed to protect theactual TV content or video content digitally stored on the media server106. Licenses may therefore be associated with the actual TV or videocontent. A license identifies keys used to decrypt video and TV content(e.g., content packets) that are encrypted as part of DRM. Inparticular, the keys are used to allow consumption or use of the actualvideo and TV content. In certain implementations, the content packets ofreceived TV content may be encrypted or compressed. Encrypted contentpackets are typically decrypted with keys transmitted to or resident atthe playback device or home network devices 122, 126.

The home environment 100 may also include one or more network devicesfunctioning as media receivers 122, 126 placed in communication with themedia server 106 through a network 128, for example, a local areanetwork (LAN). In an exemplary embodiment, the media receivers 122, 126may be a Media Center Extender device, for example, an Xbox 360™(Microsoft Corporation, Redmond, Wash.). The media receivers 122, 126may also be implemented as any of a variety of conventional mediarendering or computing devices, including, for example, a set-top box, atelevision, a video gaming console, a desktop PC, a notebook or portablecomputer, a workstation, a mainframe computer, an Internet appliance, ahandheld PC, a cellular telephone or other wireless communicationsdevice, a personal digital assistant (PDA), or combinations thereof.Furthermore, the media receivers 122, 126 may include a tuner asdescribed above.

The network 128 may comprise a wired and/or wireless network, forexample, cable, Ethernet, WiFi, a wireless access point (WAP), or anyother electronic coupling means, including the Internet. The network 128may enable communication between the media server 106, the mediareceivers 122, 126, and any other connected device through packet-basedcommunication protocols, such as transmission control protocol (TCP),Internet protocol (IP), real-time transport protocol (RTP), andreal-time transport control protocol (RTCP). Communications may betransmitted directly between devices over a LAN, or they may be carriedover a wide area network (WAN), for example, the Internet 118.

One or more video display devices, for example a main TV 120 in theliving room 102, a secondary TV 124 in the bedroom 104, and a videomonitor 112 may be situated throughout the home environment 100. Thesevideo display devices may be connected with the media server 106 via thenetwork 128 either directly or via the media receivers 122, 126. Asshown in the example of FIG. 1, the main TV 120 and the secondary TV maybe coupled to the media receivers 122, 126 through conventional cables.The video monitor 112 may be coupled with the media server 106 directlyvia a video cable. The media server 106 and media receivers 122, 126 mayalso or alternatively be coupled with any of a variety of video andaudio presentation devices. Media content including TV content may thusbe supplied to each of the video display devices 112, 120, 124 over thehome network 128 from the media server 106 situated in the living room104.

The media receivers 122, 126 may be configured to receive streamed mediacontent, including video and TV content, from the media server 106.Media content, and particularly video and TV content, may be transmittedfrom the media server 106 to the media receivers 122, 126 as streamingmedia comprised of discrete content packets via any of the networkprotocols described above. The streamed media content may comprise videoIP, SD, and HD content, including video, audio, and image files, decodedon the home network devices 122, 126 for presentation on the connectedTVs 120, 124. The media content may further be “mixed” with additionalcontent, for example, an EPG, presentation content related to the mediacontent, a web browser window, and other user interface environmentstransmitted from the media server for output on the TVs 120, 124 or themonitor 112. Such additional media content may be delivered in a varietyof ways using different protocols, including, for example, standardremote desktop protocol (RDP), graphics device interface (GDI), orhypertext markup language (HTML).

In addition to the media receivers 122, 126 and the video displaydevices 112, 120, 124, the media server 106 may be connected with otherperipheral devices, including components such as digital video recorders(DVR), cable or satellite set-top boxes, speakers, and a printer (notshown for the sake of graphic clarity). The media server 106 may alsoenable multi-channel output for speakers. This may be accomplishedthrough the use of digital interconnect outputs, such as Sony-PhilipsDigital Interface Format (S/PDIF) or TOSLINK® enabling the delivery ofDolby Digital, Digital Theater Sound (DTS), or Pulse Code Modulation(PCM) surround decoding.

FIG. 2 provides an overview of an implementation of a physicalconfiguration 200 for coordinating playback of media content andpresentation of user interface components, in particular audio/videocontent, on a media receiver 204 by the media server 202. As describedabove, the media receiver 204 may be connected via a network link 208within a local network 210 (e.g., an IP network) to a media server 202.A presentation device 206, e.g., a television or monitor, may beconnected with the media receiver 204 to present the media and relatedUI components to the user.

As indicated in FIG. 2, in general remotely sourced media 212 andremotely sourced UI information 214 is transmitted from the media server202 over the network link 208 to the media receiver 204. Remotelysourced media 212 may include, for example, broadcasts of programsreceived and tuned by the media server 202; CD or DVD playback of musicor video content by the media server 202; and music, pictures, and videostored on the media server 202. Remotely sourced UI information 212 mayinclude, for example, menu selections, logos, and meta information aboutmedia transmitted by the media server 202, e.g., song or movie titles,album or movie art, closed captioning information, media stateinformation (e.g., play/pause/stop indications), EPG informationdownloaded by the media server 202, and media duration information.

In addition to the remotely sourced media 212 and remotely sourced UIinformation 214, command and control information 216 may also betransmitted over the network link 208 between the media server 202 andthe media receiver 204. This command and control information 216 trafficmay be two-way in order to allow for coordination of a compositepresentation to the user on the display device 206. As used herein, theterm “composite” is not meant to refer to the analog video format called“composite video.” Instead, “composite” herein is meant to describe thecombination or aggregation of video and UI components in a singlepresentation.

FIG. 3 depicts an exemplary implementation of the composition ofremotely sourced audio media and remote UI information 310 from a mediaserver 302 with local UI 326 generated at a media receiver 304 foroutput and display on a display device 306 with associated loudspeakers308. The media server 302 and the media receiver 304 are part of a homeentertainment environment 300 and are connected via a network 316. Theaudio media is transmitted as an audio stream from the media server 302to the media receiver 304 within a media channel 312 over the network316. The remote UI 310 is similarly transmitted over the network 316from the media server 302 to the media receiver 304 within a separate UIchannel 314.

The remote UI 310 related to the audio media, for example, a music CD,is shown as generated by the media server 302. The remote UI 310 may becomposed of playback information 322 at the bottom of the screen, whichin the example of FIG. 3 includes the name of the song (Track Name), thename of the album (Album Title), play/pause indicators, the length ofthe song (3 min., 25 sec.), and the time elapsed in playback of the song(45 sec.). Additionally, the playback information 322 may include agraphic horizontal bar indicating the relative length of the song and agraphic vertical bar intersecting the horizontal bar and indicating thetime elapsed in playback of the song. The remote UI 310 may furtherinclude a graphic or picture 324 of the album artwork associated withthe particular music album.

Once the audio stream and remote UI information 310 from the mediaserver 302 are received at the media receiver 304, the audio stream isdecoded by an audio decoder module 318 within the media receiver. Theaudio decoder module 318 may translate the audio stream, which isgenerally digitally compressed, into an analog signal for transformationinto sound by the loudspeakers 308 associated with the display device306. In alternate embodiments, the loudspeakers 308 may be digitalloudspeakers with the ability to directly transduce digital audiosignals without intermediate decoding by the audio decoder module 318.In such embodiments, the digital audio signals may be forked by themedia receiver 304 in order to provide the digital audio signals to boththe loudspeakers 308 and the visualization engine 320.

The analog signal may also be passed from the audio decoder 318 to avisualization engine module 320 within the media receiver 304. Thevisualization engine 320 may be a software program that analyzes thefrequencies and intensities of the audio signals and translates thefrequencies and intensities into animated graphics. An exemplary graphicvisualization 326 is depicted in FIG. 3 as an animated bar graph inwhich the bars represent frequencies, the heights of the bars representintensity, and the small floating bars represent a recent maximumintensity for the particular frequency. Other animated graphicvisualizations for audio signals may be generated and are well known.The graphic visualization 326 may be created by the media receiver 304as a locally generated UI 328 for visual presentation to the user on thedisplay device 306 to accompany the audio output on the associatedloudspeakers 308.

The media receiver 304 may output the remotely generated UI 310 and thelocally generated UI 328 as a combined graphic output 330 for display asa composite UI 334 on the display device 306. The media receiver 304 maysimply overlay the remotely generated UI 310 on top of the locallygenerated UI 328 or vice versa. As shown in FIG. 3, the composite UI 334is composed of the playback information 322 and the album picture 324 ofthe remote UI 310 positioned on top of the graphic visualization 326 ofthe local UI 328. More complicated composition schemes are possible andadditional implementations are considered with respect to FIG. 4 herein.The media receiver 304 also provides an audio output 332 for playback onthe loudspeakers 308 associated with the display device 306.

In this exemplary implementation the graphic visualization 326 of thelocally generated UI 328 is synchronized with the audio output 332rendered by the media receiver 304. The remotely generated UI 310 isalso synchronized with the audio output 332 played over the loudspeakers308 to graphically move the vertical bar of the playback information 322horizontally and increment the time elapsed of the song while the songplays and stop both actions when the song is paused. When the songselection changes, the track name is changed in the remote UI 310component of the composite UI 334. Further, when the album selectionchanges, the album title and the album picture 324 change in the remoteUI 310 component of the composite UI 334 to reflect a different album.

FIG. 4 depicts an exemplary implementation of the composition ofremotely sourced audio/video media and remote UI information 410 from amedia server 402 with local UI 432 generated at a media receiver 404 foroutput and display on a presentation device 406, e.g., a video display,with associated loudspeakers 408. The media server 402 and the mediareceiver 404 are part of a home entertainment environment 400 and areconnected via a network 416. The audio/video media is transmitted as adata stream from the media server 402 to the media receiver 404 within amedia channel 412 over the network 416. The remote UI 410 is similarlytransmitted over the network 416 from the media server 402 to the mediareceiver 404 within a separate UI channel 414. Additionally, the mediaserver 402 and the media receiver 404 communicate with each other overthe network 416 via a backchannel 436 in order to coordinate thecomposition of the remotely generated UI 410 and the locally generatedUI 432.

The remote UI 410 related to the audio/video media, for example, a movieor television program, is shown as generated by the media server 402.The remote UI 410 may be composed of a video playback window 418 at thebottom of the screen in which the movie is presented. The remote UI 410may also include interactive menu graphics 420 related to the softwareon the media server 402 for control of the home entertainmentenvironment 400. A logo 422 identifying the presence of the homeentertainment environment 400 framework may also be a part of theremotely generated UI 410. The remote UI 410 may further include agraphic or textual information (not shown) derived from metadataassociated with the particular movie, for example, the movie title, theactors, director, producers, etc.

Once the audio/video stream and remote UI information 410 from the mediaserver 402 are received at the media receiver 404, the audio/videostream is decoded by an audio/video decoder module 424 within the mediareceiver. The audio decoder module 424 may also translate theaudio/video stream, which is generally digitally compressed, into analogvideo signals rendered as video frames on the presentation device 406and analog audio signals transduced into sound by the associatedloudspeakers 408. In alternate embodiments, the display device 406 andthe loudspeakers 408 may be digital with the ability to directly renderthe digital audio/video signals without intermediate digital/analogconversion by the audio/video decoder module 424, or with partialintermediate decoding by the audio/video decoder module 424.

Once decoded, metadata associated with the video signal may also bepassed from the audio/video decoder 424 to a metadata decoder module 426within the media receiver 404. The metadata decoder 426 may be ahardware chipset or a software program that analyzes the video signaland extracts embedded data, for example, closed captioning information428. The closed captioning information 428 or other metadata may beincorporated into a locally generated UI 432 by a graphic UI generatormodule 430 in the media receiver 404. The media receiver 404 may furtherbe configured to generate additional local UI 432 components. Forexample, the media receiver 404 may accept remote control or push buttoncommands from a user to control playback of the video or volume of theaudio at the presentation device 406. As depicted in FIG. 4, if a volumecontrol command is received by the media receiver 404, the graphic UIgenerator 430 may generate a volume bar graphic 434 to visually indicatethe volume level to the user. The locally generated UI 432 may beprovided for visual presentation to the user on the display device 406to accompany the audio/video output from the media stream.

The media receiver 404 may output the audio/video media, the remotelygenerated UI 410, and the locally generated UI 432 as a combinedaudio/video graphic output 438 for display as a composite UI 440 on thepresentation device 406. The audio portion of the combined audio/videographic output 438 is separated for playback on the loudspeakers 408associated with the presentation device 406.

The media receiver 404 and the media server may coordinate the layout ofthe remotely generated UI 410 with the locally generated UI 428 via dataexchange and command and control communications transmitted via thebackchannel 436. For example, as shown in FIG. 4, the logo 422 in theremote UI 410 is originally positioned at a screen location that wouldinterfere or overlap with the volume bar graphic 434 generated by thegraphic UI generator 430 for the local UI 432. In some implementations,this conflict may arise because the manufacturer of the media receiver404 may be different from the manufacturer of the multimedia softwarecreating the home entertainment environment 400. The media receiver 404may have default positions for UI components generated locally thatcannot be changed. In such a situation, this information can betransmitted to the media server 402 via the backchannel 436 and theremote UI 410 can be altered to accommodate the local UI 432. Thisalteration can be seen in the composite UI 440 wherein the position ofthe logo 422 has been adjusted downward to accommodate the volume bargraphic 434.

In the exemplary implementation of FIG. 4, the closed captioninginformation 428 of the locally generated UI 432 is superimposed over thevideo output presented in the video window 418 of the composite UI 440.The logo 422 in the remotely generated UI 410 is adjusted to accommodatethe position of the volume bar graphic 434 as described above. The menugraphics 420 are also presented on the composite UI 440. The menugraphics 420 may be altered in real time to respond to user inputreceived at the media receiver 404 and transmitted to the media server402 via the backchannel 436. In this manner, the user can control thefunctions of the media server 402, for example, the selection of a newmovie or song stored on the media server 402, through input at the mediareceiver 404. Such user input information then may dynamically affectthe generation of both the remote UI 410 and the local UI 432, and thusultimately the resulting composite UI 440.

An exemplary hardware and operating environment for implementing theinvention is depicted in FIG. 5. As indicated above, the media serverand the media receiver devices may comprise general purpose computingdevices. A general purpose computing device may be the form of acomputer 500, including a processing unit 502, a system memory 504, anda system bus 518 that operatively couples various system components,including the system memory 504 to the processing unit 502. There may beonly one or there may be more than one processing unit 502, such thatthe processor of computer 500 comprises a single central processing unit(CPU), or a plurality of processing units, commonly referred to as aparallel processing environment. The computer 500 may be a conventionalcomputer, a distributed computer, or any other type of computer; theinvention is not so limited.

The system bus 518 may be any of several types of bus structuresincluding a memory bus or memory controller, a peripheral bus, aswitched fabric, point-to-point connections, and a local bus using anyof a variety of bus architectures. The system memory 504 may also bereferred to as simply the memory, and includes read only memory (ROM)506 and random access memory (RAM) 505. A basic input/output system(BIOS) 508, containing the basic routines that help to transferinformation between elements within the computer 500, such as duringstart-up, is stored in ROM 506. The computer 500 further includes a harddisk drive 530 for reading from and writing to a hard disk, not shown, amagnetic disk drive 532 for reading from or writing to a removablemagnetic disk 536, and an optical disk drive 534 for reading from orwriting to a removable optical disk 538 such as a CD ROM, DVD, or otheroptical media.

The hard disk drive 530, magnetic disk drive 532, and optical disk drive534 are connected to the system bus 518 by a hard disk drive interface520, a magnetic disk drive interface 522, and an optical disk driveinterface 524, respectively. The drives and their associatedcomputer-readable media provide nonvolatile storage of computer-readableinstructions, data structures, program modules and other data for thecomputer 500. It should be appreciated by those skilled in the art thatany type of computer-readable media that can store data that isaccessible by a computer, for example, magnetic cassettes, flash memorycards, digital video disks, RAMs, and ROMs, may be used in the exemplaryoperating environment.

A number of program modules may be stored on the hard disk 530, magneticdisk 532, optical disk 534, ROM 506, or RAM 505, including an operatingsystem 510, one or more application programs 512, for example, amultimedia software package, other program modules 514, for example, avisualization engine, an audio/video decoder, a UI generator, and ametadata decoder, and program data 516, for example, media content. Auser may enter commands and information into the personal computer 500through input devices such as a keyboard 540 and pointing device 542,for example, a mouse. Other input devices (not shown) may include, forexample, a microphone, a joystick, a game pad, a tablet, a touch screendevice, a satellite dish, a scanner, a facsimile machine, and a videocamera. These and other input devices are often connected to theprocessing unit 502 through a serial port interface 526 that is coupledto the system bus 518, but may be connected by other interfaces, such asa parallel port, game port, or a universal serial bus (USB).

A monitor 544 or other type of display device is also connected to thesystem bus 518 via an interface, such as a video adapter 546. Inaddition to the monitor 544, computers typically include otherperipheral output devices, such as a printer 558 and speakers (notshown). These and other output devices are often connected to theprocessing unit 502 through the serial port interface 526 that iscoupled to the system bus 518, but may be connected by other interfaces,such as a parallel port, game port, or a universal serial bus (USB). Inthe case of a media server, a tuner 560 may also be connected with thesystem bus in order to receive and convert analog content signals intodigital format and similarly convert digital content into analog signalsfor transmission to connected devices.

The computer 500 may operate in a networked environment using logicalconnections to one or more remote computers, such as remote computer554. These logical connections may be achieved by a communication devicecoupled to or integral with the computer 500; the invention is notlimited to a particular type of communications device. The remotecomputer 554 may be another computer, a server, a router, a networkpersonal computer, a client, a peer device, or other common networknode, and typically includes many or all of the elements described aboverelative to the computer 500, although only a memory storage device 556has been illustrated in FIG. 5. The logical connections depicted in FIG.5 include a wired or wireless local-area network (LAN) 550, for example,an Ethernet network, or a WiFi network, and a wide-area network (WAN)552, for example, a cable network or a telephony network. Suchnetworking environments are commonplace in office networks,enterprise-wide computer networks, intranets and the Internet, which areall types of networks.

When used in a LAN 550 environment, the computer 500 may be connected tothe local network 550 through a network interface or adapter 528, whichis one type of communications device. When used in a WAN 552environment, the computer 500 typically includes a modem 548, a networkadapter, or any other type of communications device for establishingcommunications over the wide area network 552. The modem 548, which maybe internal or external, is connected to the system bus 518 via theserial port interface 526. In a networked environment, program modulesdepicted relative to the personal computer 500, or portions thereof, maybe stored in a remote memory storage device. It is appreciated that thenetwork connections shown are exemplary and other means of andcommunications devices for establishing a communications link betweenthe computers may be used.

The technology described herein may be implemented as logical operationsand/or modules in one or more systems. The logical operations may beimplemented as a sequence of processor-implemented steps executing inone or more computer systems and as interconnected machine or circuitmodules within one or more computer systems. Likewise, the descriptionsof various component modules may be provided in terms of operationsexecuted or effected by the modules. The resulting implementation is amatter of choice, dependent on the performance requirements of theunderlying system implementing the described technology. Accordingly,the logical operations making up the embodiments of the technologydescribed herein are referred to variously as operations, steps,objects, or modules. Furthermore, it should be understood that logicaloperations may be performed in any order, unless explicitly claimedotherwise or a specific order is inherently necessitated by the claimlanguage.

The above specification, examples and data provide a completedescription of the structure and use of exemplary embodiments of theinvention. Although various embodiments of the invention have beendescribed above with a certain degree of particularity, or withreference to one or more individual embodiments, those skilled in theart could make numerous alterations to the disclosed embodiments withoutdeparting from the spirit or scope of this invention. In particular, itshould be understand that the described technology may be employedindependent of a personal computer. Other embodiments are thereforecontemplated. It is intended that all matter contained in the abovedescription and shown in the accompanying drawings shall be interpretedas illustrative only of particular embodiments and not limiting. Changesin detail or structure may be made without departing from the basicelements of the invention as defined in the following claims.

1. A method for combining separately generated user interfaces and mediaplayback, the method comprising transmitting media content from a mediaserver to a media receiver over a network; rendering the media contentat the media receiver; generating a first user interface at the mediareceiver; generating a second user interface at the server; transmittingthe second user interface from the server to the media receiver over thenetwork; and generating a composite presentation of the rendered mediacontent, the first user interface, and the second user interface thatavoids conflict between positions of the first user interface and thesecond user interface in the composite presentation.
 2. The method ofclaim 1 further comprising generating compositing information at themedia server; and transmitting the compositing information from themedia server to the media receiver.
 3. The method of claim 2, whereinthe operation of generating the first user interface further comprisesbasing the first user interface, at least in part, upon the compositinginformation received from the media server.
 4. The method of claim 1further comprising generating compositing information at the mediareceiver; and transmitting compositing information from the mediareceiver to the media server.
 5. The method of claim 4, wherein theoperation of generating the second user interface further comprisesbasing the second user interface, at least in part, upon the compositinginformation received from the media receiver.
 6. The method of claim 1,wherein the operation of generating the first user interface furthercomprises basing the first user interface, at least in part, upon themedia content received from the media server.
 7. The method of claim 1,further comprising extracting metadata from the media content; andwherein operation of generating the first user interface furthercomprises incorporating the metadata into the first user interface. 8.The method of claim 1 further comprising extracting metadata from themedia content; and wherein operation of generating the second userinterface further comprises incorporating the metadata into the seconduser interface
 9. A computer-readable medium having computer-executableinstructions for performing a computer process implementing the methodof claim
 1. 10. A method for combining separately generated userinterfaces and media rendered for playback, the method comprisingtransmitting media content to a media receiver for rendering by themedia receiver to a presentation device; receiving compositinginformation about a first user interface generated by the mediareceiver; generating a second user interface that avoids conflict with aposition of the first user interface; and transmitting the second userinterface to the media receiver for creation of a composite presentationof the media content, the first user interface, and the second userinterface.
 11. The method of claim 10 further comprising extractingmetadata from the media content; and wherein operation of generating thesecond user interface further comprises incorporating the metadata intothe second user interface.
 12. The method of claim 10 further comprisingdefining additional compositing information related to the second userinterface; and transmitting the additional compositing information tothe media receiver for use in creating the composite presentation.
 13. Acomputer-readable medium having computer-executable instructions forperforming a computer process implementing the method of claim
 10. 14. Amethod for combining separately generated user interfaces and mediarendered for playback, the method comprising receiving media contentfrom a media server; rendering the media content for presentation by apresentation device; generating a first user interface; receiving asecond user interface from the media server; and creating a compositepresentation of the media content, the first user interface, and thesecond user interface that avoids conflict between positions of thefirst user interface and the second user interface in the compositepresentation.
 15. The method of claim 14, wherein the operation ofgenerating the first user interface further comprises basing the firstuser interface at least in part upon the media content.
 16. The methodof claim 14 further comprising defining compositing information relatedto the first user interface; transmitting the compositing information tothe media server; and wherein the creating operation uses thecompositing information to avoid conflict between positions of the firstuser interface and the second user interface.
 17. The method of claim 16further comprising receiving additional compositing information from themedia server.
 18. The method of claim 14 further comprising receivingcompositing information about the second user interface generated by themedia server; and wherein the creating operation uses the compositinginformation to avoid conflict between positions of the first userinterface and the second user interface.
 19. The method of claim 14,further comprising extracting metadata from the media content; andwherein operation of generating the first user interface furthercomprises incorporating the metadata into the first user interface. 20.A computer-readable medium having computer-executable instructions forperforming a computer process implementing the method of claim 14.